package com.shujia.wyh.day11.ketang;

/*
    方法的重写：
        继承关系中，子类的成员方法的声明（返回值类型，方法名，参数列表）都与父类中的成员方法一模一样，称之为方法的
        重写（覆盖，复写）

   面试题：方法的重写与重载的区别？
        1、重载是发生在一个类中，方法名一样，参数列表不一样，与返回值无关。
        2、重写是发生在继承关系中，子类的成员方法的声明（返回值类型，方法名，参数列表）都与父类中的成员方法一模一样。

        今后在方法上看到@Override，表示的是该方法是重写了父类中的方法，内部实现一样

   生活中有哪些重写的案例：
        大哥大 -- 小灵通 -- 触屏手机 -- 现在智能手机

 */

class OldPhone{
    public void call(String name){
        System.out.println("打电话给"+name);
    }
}

class NewPhone extends OldPhone{
//    @Override
//    public void call(String name) {
//        super.call(name);
//        System.out.println("打游戏");
//    }
    //    public void call(String name){
////        System.out.println("打电话给"+name);
//        super.call(name);
//        System.out.println("打游戏");
//    }
}

class NewPhone2 extends NewPhone{
    @Override
    public void call(String name) {
        super.call(name);
        System.out.println("发短信");
    }
}



public class ExtendsDemo10 {
    public static void main(String[] args) {
        NewPhone newPhone = new NewPhone();
        newPhone.call("李毅");
    }
}
